package com.woniu.mall.VO;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.woniu.mall.pojo.Coupon;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * <p>
 *
 * </p>
 *
 * @author 坤
 * @since 2023-05-22
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("t_mall_order")
@ApiModel(value = "MallOrder对象", description = "")
public class MallOrderVO implements Serializable {

    private static final long serialVersionUID = 1L;

      @ApiModelProperty("订单id")
        private Integer orderId;

      @ApiModelProperty("用户id")
      private Integer userId;

      @ApiModelProperty("用户地址")
      private String userAddress;

      @ApiModelProperty("总价格")
      private BigDecimal totalPrice;

      @ApiModelProperty("平台优惠券名称")
      private String platformCouponName;

      @ApiModelProperty("平台优惠券金额")
      private BigDecimal platformCouponAmount;

      @ApiModelProperty("商家优惠券金额")
      private BigDecimal storeCouponAmount;

      @ApiModelProperty("分区优惠券集合")
      private List<Coupon> zoneCouponList;

      @ApiModelProperty("订单状态")
      //订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单
      private Byte orderStatus;

      @ApiModelProperty("物流状态")
      private Byte logisticsStatus;

      @ApiModelProperty("逻辑删除")
      private Byte logicalDelete;

      @ApiModelProperty("支付时间")
      private Date paymentTime;

      @ApiModelProperty("创建时间")
      @TableField(fill = FieldFill.INSERT)
      private Date createTime;

      @ApiModelProperty("修改时间")
      @TableField(fill = FieldFill.INSERT_UPDATE)
      private Date updateTime;
}
